// es6继承
// 子类继承自父类
// 子类的原型对象继承父类的原型对象
class Animal {
    constructor(name, age, weight) {
        this.name = name;
        this.age = age;
        this.weight = weight;
        console.log('我是父构造器');
    }
    // 存放在原型对象中
    sayName() {
        console.log('我是父原型对象中的方法');
    }
    static attr = '我是父静态属性';
    static AnimalMethod() {
        console.log('我是父静态方法');
    }
};
class Dog extends Animal {
    constructor(name, age, weight, color) {
        // 使用super函数继承父类 先执行父构造器 再执行父构造器
        super(name, age, weight);//类似于 Animal.call(this)
        this.color = color;
        console.log('我是子构造器');
    }
    sayName(){
        console.log('我是子类的原型对象中的方法');
    }
};
let dog1 = new Dog('可乐', 1, '20kg', '白色');
console.log(dog1);
// 子类的原型对象继承父类的原型对象
dog1.sayName();
console.log(Dog.prototype.__proto__ === Animal.prototype);
// 子类继承父类
Dog.AnimalMethod();
console.log(Dog.__proto__ === Animal);
console.log(Dog.attr);